Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Методи чисельного розв’язування диференціальних рівнянь

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2011
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Комп’ютерні методи дослідження інформаційних процесів та систем

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра БІТ Звіт про виконання лабораторної роботи №6 з курсу: «Комп’ютерні методи дослідження інформаційних процесів та систем» на тему: «Методи чисельного розв’язування диференціальних рівнянь» Мета роботи – ознайомлення з методами чисельного розв’язування диференційних рівнянь. 1.Короткі теоретичні відомості Метод Мілна На етапі прогнозу використовується формула Мілна. , (11) а на етапі корекції - формула Сімпсона  (12) Останні члени в обох формулах в ітераційному процесі не використовуються і служать лише для оцінки помилок. Метод Мілна відносять до методів четвертого порядку точності. Потрібно мати на увазі, що для користування формулою (11) необхідно попередньо одним із однокрокових методів визначити  і значення похідних . Похибка, внесена на будь-якому кроці, зростає експоненціально, тому методу Мілна властива нестійкість. 2.Завдання до лабораторної роботи Розв’язати чисельним методом звичайне диференційне рівняння.     3.Блок-схема алгоритму програми 4. Текст програми using System; namespace ConsoleApplication10 { class Data { double h; double[] x; double[] y; double[] Y; int i = 0; int n; public void ScanData() { Console.Write("h="); h = Convert.ToDouble(Console.ReadLine()); Console.Write("n="); n = Convert.ToInt32(Console.ReadLine()); Console.Write("x="); x = new double[n + 1]; y = new double[n + 1]; Y = new double[n + 1]; x[0] = Convert.ToDouble(Console.ReadLine()); Console.Write("y="); y[0] = Convert.ToDouble(Console.ReadLine()); } public void Pohidna(double x, double y) { Y[i] = Math.Sin(x + y * y); } public void Obch() { y[i + 1] = y[i] + h * Y[i]; } public void Prognoz() { y[i + 1] = y[i - 3] + 4 / 3 * h * (2.0 * Y[i] - Y[i - 1] + 2.0 * Y[i - 2]); } public void Korekcia() { y[i + 1] = y[i - 1] + 1 / 3 * h * (Y[i + 1] + 4.0 * Y[i] + Y[i - 1]); } public void Prod() { Console.WriteLine("x\ty\ty'\t"); do { x[i] = i * h; if (i < 4) { Pohidna(x[i], y[i]); Obch(); } else { Prognoz(); Pohidna(x[i], y[i]); Korekcia(); Pohidna(x[i], y[i]); } Console.WriteLine("{0:0.#######}\t{1:0.###########}\t{2:0.###########}", x[i], y[i], Y[i]); i++; } while (i < n); } } class Program { static void Main(string[] args) { Data d = new Data(); d.ScanData(); d.Prod(); Console.ReadLine(); } } } 5. Результати роботи програми / 6. Висновки На даній лабораторній роботі я навчився розв’язувати диференціальні рівняня чисельним. Я розв’язував рівняння за допомогою методу Мілна. Використовуючи алгоритм ми суттєво скорочуєм час на обчислення диференціальних рівнянь.
Антиботан аватар за замовчуванням

30.03.2013 22:03

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини